package com.ocean.nc.service;

import java.util.Date;
import java.util.List;

import com.ocean.common.core.domain.AjaxResult;
import com.ocean.common.core.page.ForeResult;
import com.ocean.nc.domain.ONcFile;
import com.ocean.previewElement.domain.PreviewData;
import com.ocean.productDict.domain.oNcfileMonitor;

/**
 * nc文件Service接口
 *
 * @author ocean
 * @date 2023-02-13
 */
public interface IONcFileService
{
    /**
     * 查询nc文件
     *
     * @param id nc文件主键
     * @return nc文件
     */
    public ONcFile selectONcFileById(String id);

    /**
     * 查询nc文件列表
     *
     * @param oNcFile nc文件
     * @return nc文件集合
     */
    public List<ONcFile> selectONcFileList(ONcFile oNcFile);

    /**
     * 新增nc文件
     *
     * @param oNcFile nc文件
     * @return 结果
     */
    public int insertONcFile(ONcFile oNcFile);

    /**
     * 修改nc文件
     *
     * @param oNcFile nc文件
     * @return 结果
     */
    public int updateONcFile(ONcFile oNcFile);

    /**
     * 批量删除nc文件
     *
     * @param ids 需要删除的nc文件主键集合
     * @return 结果
     */
    public int deleteONcFileByIds(String ids);

    /**
     * 删除nc文件信息
     *
     * @param id nc文件主键
     * @return 结果
     */
    public int deleteONcFileById(String id);

    /**
     *文件归档
     */
    void autoFile();

    void sendMail(String content, String receiver);

    void checkNCXml();

    ForeResult getNcFile(String productId, int currentPage);
    List<ONcFile> getNcFile(String productId, Date date);

    List<String> getNcFileDate(String productId);

    String download(String fileId, String productId);

    AjaxResult createXmlFile(PreviewData previewData);

    oNcfileMonitor getncZnwgdata(Integer fileid);
}
